#include <map>
#include <iostream>
using namespace std;

bool isPalindrome(string s1, string s2){
    if(s1.length() != s2.length())
        return false;
    map<char, int> map;
    //统计s1中字符出现次数
    for(int i = 0; i < s1.length(); i++){
        if(map.find(s1[i]) != map.end()){
            map[s1[i]]++;
        }else{
            map[s1[i]] = 1;
        }
    }
    for(int i = 0; i < s2.length(); i++){
        auto it = map.find(s2[i]);
        if(it == map.end() || it->second == 0){
            return false;
        }else{
            map[s2[i]]--;
        }
    }
    return true;
}

int main(){
    string s1 = "你不会", s2 = "你会不";
    if(isPalindrome(s1, s2)){
        printf("是同位词\n");
    }else{
        printf("不是同位词\n");
    }
    // map<char, int> map;
    // string s1 = "I love you";
    // for(int i = 0; i < s1.length(); i++){
    //     map[s1.at(i)]++;
    // }
    // for(std::map<char, int>::iterator it = map.begin(); it != map.end(); it++){
    //     printf("%c %d\n", it->first, it->second);
    // }
    return 0;
}